package com.ruoyi.customer.service;

import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.customer.api.domain.ZkxcUser;
import com.ruoyi.customer.api.domain.ZkxcUserDTO;
import com.ruoyi.customer.domain.ZkxcUserVO;

import java.util.List;

/**
 * 推送给设备的用户信息Service接口
 *
 * @author ruoyi
 * @date 2025-09-05
 */
public interface IZkxcUserService {
    /**
     * 查询推送给设备的用户信息
     *
     * @param id 推送给设备的用户信息主键
     * @return 推送给设备的用户信息
     */
    ZkxcUser selectZkxcUserById(Long id);

    /**
     * 查询推送给设备的用户信息列表
     * @param dto
     * @return
     */
    List<ZkxcUser> selectZkxcUserList(ZkxcUserDTO dto);

    /**
     * 新增推送给设备的用户信息
     *
     * @param zkxcUser 推送给设备的用户信息
     * @return 结果
     */
    AjaxResult insertZkxcUser(Long customerId);

    /**
     * 修改推送给设备的用户信息
     *
     * @param zkxcUser 推送给设备的用户信息
     * @return 结果
     */
    int updateZkxcUser(ZkxcUser zkxcUser);

    /**
     * 批量删除推送给设备的用户信息
     *
     * @param ids 需要删除的推送给设备的用户信息主键集合
     * @return 结果
     */
    int deleteZkxcUserByIds(Long[] ids);

    /**
     * 删除推送给设备的用户信息信息
     *
     * @param id 推送给设备的用户信息主键
     * @return 结果
     */
    int deleteZkxcUserById(Long id);

    /**
     * 创建推送给设备的用户信息
     *
     * @param vo
     * @return
     */
    AjaxResult createZkxcUser(ZkxcUserVO vo);
}
